import moment from 'moment';
import { isNumber } from './is';

/** 当前年 */
export function currentYear() {
  return moment().year();
}

/** 当前月 */
export function currentMonth() {
  return moment().format('MM');
}

/** 当前日 */
export function currentDay() {
  return moment().format('DD');
}

/** 当前季度 */
export function currentQuarter() {
  return moment().quarter();
}

/** 当前周 */
export function currentWeek() {
  return moment().week();
}

/**
 * 年份区间
 * @param current {number} 当前年
 * @param positive {number} 正
 * @param negative {number} 负
 * @returns arr
 */
export function intervalYear(current: number, positive = 100, negative = 100) {
  const arr: object[] = [];
  for (let i = negative; i > 0; i--) {
    arr.push({ name: current - i });
  }
  arr.push({ name: current });
  for (let i = 1; i <= positive; i++) {
    arr.push({ name: current + i });
  }
  return arr;
}

/**
 * 某年某月的天数数组
 * @param year 年份
 * @param month 月份
 * @returns 天数数组
 */
export function daysInMonth(year: number | string, month: number | string) {
  const date = year + '-' + month;
  const days = moment(date, 'YYYY-MM').daysInMonth();
  const arr: object[] = [];
  for (let i = 1; i <= days; i++) {
    arr.push({ name: i });
  }
  return arr;
}

/**
 * 补零
 * @param num 数值
 * @returns res
 */
export function fillZero(num: number | string) {
  if (isNumber(num)) {
    return num < 10 ? '0' + num : num;
  }
  return Number(num) < 10 ? '0' + num : num;
}
